package com.lantosec.hmrp.modules.archives.vo;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

import com.lantosec.hmrp.modules.archives.entity.UserAvocation;
import com.lantosec.hmrp.core.mvc.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * <p>
 * 领导干部从事或参与营利性活动及兼职情况报告表。 VO对象
 * </p>
 *
 * @author AutoCode
 * @since 2020-06-11
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value="UserAvocation对象", description="领导干部从事或参与营利性活动及兼职情况报告表。")
public class UserAvocationVO extends BaseVO<UserAvocation> {
    private static final long serialVersionUID = 1L;


    public UserAvocationVO(UserAvocation entity){
        this.userAvocationId = entity.getUserAvocationId();
        this.userId = entity.getUserId();
        this.company = entity.getCompany();
        this.medicineFlag = entity.getMedicineFlag();
        this.healthFlag = entity.getHealthFlag();
        this.forProfitHealthCareFlag = entity.getForProfitHealthCareFlag();
        this.constructProjecFlag = entity.getConstructProjecFlag();
        this.otherReferToFlag = entity.getOtherReferToFlag();
        this.referToMedicalRemark = entity.getReferToMedicalRemark();
        this.parttime = entity.getParttime();
        this.otherBusiness = entity.getOtherBusiness();
        this.createId = entity.getCreateId();
        this.createUser = entity.getCreateUser();
        this.createTime = entity.getCreateTime();
        this.verifyId = entity.getVerifyId();
        this.verifyUser = entity.getVerifyUser();
        this.verifyTime = entity.getVerifyTime();
        this.verifyStatus = entity.getVerifyStatus();
    }

    @Override
    public UserAvocation convertToEntity(){
        return new UserAvocation(this);
    }


    @ApiModelProperty(value = "主键ID")
    private String userAvocationId;

    @ApiModelProperty(value = "用户主表ID")
    private String userId;

    @ApiModelProperty(value = "个人经办企业，json包含字段（name，自有企业，字符串；busiScope，经营范围，；regFund，注册资本，小数；investPct，出资比例，小数；yearProfit，年利润，小数）")
    private String company;

    @ApiModelProperty(value = "是否存在涉及医药类经营（0：否，1：是）")
    private Integer medicineFlag;

    @ApiModelProperty(value = "是否存在涉及健康相关产品类（0：否，1：是）")
    private Integer healthFlag;

    @ApiModelProperty(value = "是否存在涉及营利性医疗卫生计生机构类（0：否，1：是）")
    private Integer forProfitHealthCareFlag;

    @ApiModelProperty(value = "是否存在涉及基建项目类等市场经济活动（0：否，1：是））")
    private Integer constructProjecFlag;

    @ApiModelProperty(value = "是否存在其他涉医等经营性活动情况（0：否，1：是））")
    private Integer otherReferToFlag;

    @ApiModelProperty(value = "参与涉医等经营性活动情况备注")
    private String referToMedicalRemark;

    @ApiModelProperty(value = "兼职情况，json包含字段（unitName，兼职单位名称，字符串；unitNature，兼职单位性质，字符串；duty，兼职职务，字符串；orgReplyNo，组织批复文号，字符串；yearSalary，年取酬（元），整数）")
    private String parttime;

    @ApiModelProperty(value = "从事或参与其他营利性活动情况")
    private String otherBusiness;

    @ApiModelProperty(value = "创建人ID")
    private String createId;

    @ApiModelProperty(value = "创建人姓名")
    private String createUser;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "审核人ID")
    private String verifyId;

    @ApiModelProperty(value = "审核人姓名")
    private String verifyUser;

    @ApiModelProperty(value = "审核时间")
    private Date verifyTime;

    @ApiModelProperty(value = "审核状态（0：未审核，1：以审核）")
    private Integer verifyStatus;

    @ApiModelProperty(value = "审核通过状态（0不通过，1通过）")
    private Integer state;
    private List<UserAvocationCompanyVO> userAvocationCompanyVO;
    private List<UserAvocationParttimeVO> userAvocationParttimeVO;
}
